home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / gnulib / sun4.md / modf.s < prev    next >
Text File  |  1989-09-24  |  3KB  |  97 lines

  1.  
  2.         .text
  3.         .globl _modf
  4. _modf:        save    %sp, -0x50, %sp
  5.                 st    %i0, [%fp + 0x44]
  6.         ld    [%fp + 0x44], %f28
  7. L_0xc:            st    %i1, [%fp + 0x48]
  8. L_0x10:            ld    [%fp + 0x48], %f29
  9. L_0x14:            sethi    %hi(L_0x150), %o0
  10. L_0x18:            ldd    [%o0 + %lo(L_0x150)], %f0
  11. L_0x1c:            fcmped    %f28, %f0
  12. L_0x20:            nop
  13. L_0x24:        fbul,a    L_0x38
  14. L_0x28:        fmovs    %f28, %f2
  15. L_0x2c:        fmovs    %f28, %f30
  16. L_0x30:        ba    L_0x48
  17. L_0x34:        fmovs    %f29, %f31
  18. L_0x38:        fmovs    %f29, %f3
  19. L_0x3c:        fnegs    %f2, %f2
  20. L_0x40:        fmovs    %f3, %f31
  21. L_0x44:        fmovs    %f2, %f30
  22. L_0x48:        sethi    %hi(L_0x158), %o1
  23. L_0x4c:        ldd    [%o1 + %lo(L_0x158)], %f4
  24. L_0x50:        fcmped    %f30, %f4
  25. L_0x54:        nop
  26. L_0x58:        fbul,a    L_0x6c
  27. L_0x5c:        sethi    %hi(L_0x158), %o0
  28. L_0x60:        st    %f28, [%i2]
  29. L_0x64:        ba    L_0x10c
  30. L_0x68:        st    %f29, [%i2 + 0x4]
  31. L_0x6c:        ldd    [%o0 + %lo(L_0x158)], %f6
  32. L_0x70:        faddd    %f30, %f6, %f8
  33. L_0x74:        st    %f8, [%i2]
  34. L_0x78:        st    %f9, [%i2 + 0x4]
  35. L_0x7c:        ldd    [%o0 + %lo(L_0x158)], %f10
  36. L_0x80:        ld    [%i2], %f12
  37. L_0x84:        ld    [%i2 + 0x4], %f13
  38. L_0x88:        fsubd    %f12, %f10, %f14
  39. L_0x8c:        st    %f14, [%i2]
  40. L_0x90:        st    %f15, [%i2 + 0x4]
  41. L_0x94:        ld    [%i2], %f16
  42. L_0x98:        ld    [%i2 + 0x4], %f17
  43. L_0x9c:        fcmped    %f16, %f30
  44. L_0xa0:     nop
  45. L_0xa4:            fbule,a    L_0xe4
  46. L_0xa8:     sethi    %hi(L_0x150), %o5
  47. L_0xac:     sethi    %hi(L_0x160), %o4
  48. L_0xb0:     ldd    [%o4 + %lo(L_0x160)], %f18
  49. L_0xb4:     ld    [%i2], %f20
  50. L_0xb8:     ld    [%i2 + 0x4], %f21
  51. L_0xbc:     fsubd    %f20, %f18, %f22
  52. L_0xc0:     st    %f22, [%i2]
  53. L_0xc4:     st    %f23, [%i2 + 0x4]
  54. L_0xc8:     ld    [%i2], %f16
  55. L_0xcc:     ld    [%i2 + 0x4], %f17
  56. L_0xd0:     fcmped    %f16, %f30
  57. L_0xd4:     nop
  58. L_0xd8:     fbg,a    L_0xb0
  59. L_0xdc:     sethi    %hi(L_0x160), %o4
  60. L_0xe0:     sethi    %hi(L_0x150), %o5
  61. L_0xe4:     ldd    [%o5 + %lo(L_0x150)], %f24
  62. L_0xe8:     fcmped    %f28, %f24
  63. L_0xec:     nop
  64. L_0xf0:     fbuge,a    L_0x110
  65. L_0xf4:     ld    [%i2], %f0
  66. L_0xf8:            ld    [%i2], %f26
  67. L_0xfc:            fnegs    %f26, %f26
  68. L_0x100:    ld    [%i2 + 0x4], %f27
  69. L_0x104:    st    %f26, [%i2]
  70. L_0x108:    st    %f27, [%i2 + 0x4]
  71. L_0x10c:    ld    [%i2], %f0
  72. L_0x110:    ld    [%i2 + 0x4], %f1
  73. L_0x114:    fsubd    %f28, %f0, %f2
  74. L_0x118:    fmovs    %f3, %f31
  75. L_0x11c:    fmovs    %f2, %f30
  76. L_0x120:    fmovs    %f31, %f1
  77. L_0x124:    fmovs    %f30, %f0
  78. L_0x128:    ret
  79. L_0x12c:    restore
  80.  
  81.         .seg "data"
  82. L_0x130:    .long 0x40282329
  83. L_0x134:    .long 0x6d6f6466
  84. L_0x138:    .long 0x2e632031
  85. L_0x13c:    .long 0x2e342038
  86. L_0x140:    .long 0x382f3032
  87. L_0x144:    .long 0x2f303820
  88. L_0x148:    .long 0x534d4900
  89. L_0x14c:    .long 0x00000000
  90. L_0x150:    .long 0x00000000
  91. L_0x154:    .long 0x00000000
  92. L_0x158:    .long 0x43300000
  93. L_0x15c:    .long 0x00000000
  94. L_0x160:    .long 0x3ff00000
  95. L_0x164:    .long 0x00000000
  96.  
  97.